﻿using System;
using System.Data;
using System.Data.Common;
using Hxj.Data;
using Hxj.Data.Common;

namespace RecruitStudents.Utility.Model
{

	/// <summary>
	/// 实体类TB_Rule_CalculateScoreDetail 。(属性说明自动提取数据库字段的描述信息)
	/// </summary>
	[Serializable]
	public class TB_Rule_CalculateScoreDetail : Entity 
	{
		public TB_Rule_CalculateScoreDetail():base("TB_Rule_CalculateScoreDetail") {    _CalculateScoreDetailID=Guid.NewGuid().ToString();}

        #region Model
        private string _CalculateScoreDetailID;
        private string _CalculateScoreID;
        private string _ExamYear;
        private string _SignUpType;
        private string _SignUpTypeName;
        private decimal? _Weight;
        private string _Remark;
        private string _SpecialityKinds_DetailNO;
        private string _SpecialityKindsNO;
        /// <summary>
        /// 主键
        /// </summary>
        public string CalculateScoreDetailID
        {
            get { return _CalculateScoreDetailID; }
            set
            {
                this.OnPropertyValueChange(_.CalculateScoreDetailID, _CalculateScoreDetailID, value);
                this._CalculateScoreDetailID = value;
            }
        }
        /// <summary>
        /// 算分规则主键
        /// </summary>
        public string CalculateScoreID
        {
            get { return _CalculateScoreID; }
            set
            {
                this.OnPropertyValueChange(_.CalculateScoreID, _CalculateScoreID, value);
                this._CalculateScoreID = value;
            }
        }
        /// <summary>
        /// 考试年度
        /// </summary>
        public string ExamYear
        {
            get { return _ExamYear; }
            set
            {
                this.OnPropertyValueChange(_.ExamYear, _ExamYear, value);
                this._ExamYear = value;
            }
        }
        /// <summary>
        /// 考生类型
        /// </summary>
        public string SignUpType
        {
            get { return _SignUpType; }
            set
            {
                this.OnPropertyValueChange(_.SignUpType, _SignUpType, value);
                this._SignUpType = value;
            }
        }
        /// <summary>
        /// 考生类型名称
        /// </summary>
        public string SignUpTypeName
        {
            get { return _SignUpTypeName; }
            set
            {
                this.OnPropertyValueChange(_.SignUpTypeName, _SignUpTypeName, value);
                this._SignUpTypeName = value;
            }
        }
        /// <summary>
        /// 权重
        /// </summary>
        public decimal? Weight
        {
            get { return _Weight; }
            set
            {
                this.OnPropertyValueChange(_.Weight, _Weight, value);
                this._Weight = value;
            }
        }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark
        {
            get { return _Remark; }
            set
            {
                this.OnPropertyValueChange(_.Remark, _Remark, value);
                this._Remark = value;
            }
        }
        /// <summary>
        /// 专业细分编码（考官类型）
        /// </summary>
        public string SpecialityKinds_DetailNO
        {
            get { return _SpecialityKinds_DetailNO; }
            set
            {
                this.OnPropertyValueChange(_.SpecialityKinds_DetailNO, _SpecialityKinds_DetailNO, value);
                this._SpecialityKinds_DetailNO = value;
            }
        }
        /// <summary>
        /// 所属专业
        /// </summary>
        public string SpecialityKindsNO
        {
            get { return _SpecialityKindsNO; }
            set
            {
                this.OnPropertyValueChange(_.SpecialityKindsNO, _SpecialityKindsNO, value);
                this._SpecialityKindsNO = value;
            }
        }
        #endregion

        #region Method
        /// <summary>
        /// 获取实体中的主键列
        /// </summary>
        public override Field[] GetPrimaryKeyFields()
        {
            return new Field[] {
				_.CalculateScoreDetailID};
        }
        /// <summary>
        /// 获取列信息
        /// </summary>
        public override Field[] GetFields()
        {
            return new Field[] {
				_.CalculateScoreDetailID,
				_.CalculateScoreID,
				_.ExamYear,
				_.SignUpType,
				_.SignUpTypeName,
				_.Weight,
				_.Remark,
				_.SpecialityKinds_DetailNO,
				_.SpecialityKindsNO};
        }
        /// <summary>
        /// 获取值信息
        /// </summary>
        public override object[] GetValues()
        {
            return new object[] {
				this._CalculateScoreDetailID,
				this._CalculateScoreID,
				this._ExamYear,
				this._SignUpType,
				this._SignUpTypeName,
				this._Weight,
				this._Remark,
				this._SpecialityKinds_DetailNO,
				this._SpecialityKindsNO};
        }
        /// <summary>
        /// 给当前实体赋值
        /// </summary>
        public override void SetPropertyValues(IDataReader reader)
        {
            this._CalculateScoreDetailID = DataUtils.ConvertValue<string>(reader["CalculateScoreDetailID"]);
            this._CalculateScoreID = DataUtils.ConvertValue<string>(reader["CalculateScoreID"]);
            this._ExamYear = DataUtils.ConvertValue<string>(reader["ExamYear"]);
            this._SignUpType = DataUtils.ConvertValue<string>(reader["SignUpType"]);
            this._SignUpTypeName = DataUtils.ConvertValue<string>(reader["SignUpTypeName"]);
            this._Weight = DataUtils.ConvertValue<decimal?>(reader["Weight"]);
            this._Remark = DataUtils.ConvertValue<string>(reader["Remark"]);
            this._SpecialityKinds_DetailNO = DataUtils.ConvertValue<string>(reader["SpecialityKinds_DetailNO"]);
            this._SpecialityKindsNO = DataUtils.ConvertValue<string>(reader["SpecialityKindsNO"]);
        }
        /// <summary>
        /// 给当前实体赋值
        /// </summary>
        public override void SetPropertyValues(DataRow row)
        {
            this._CalculateScoreDetailID = DataUtils.ConvertValue<string>(row["CalculateScoreDetailID"]);
            this._CalculateScoreID = DataUtils.ConvertValue<string>(row["CalculateScoreID"]);
            this._ExamYear = DataUtils.ConvertValue<string>(row["ExamYear"]);
            this._SignUpType = DataUtils.ConvertValue<string>(row["SignUpType"]);
            this._SignUpTypeName = DataUtils.ConvertValue<string>(row["SignUpTypeName"]);
            this._Weight = DataUtils.ConvertValue<decimal?>(row["Weight"]);
            this._Remark = DataUtils.ConvertValue<string>(row["Remark"]);
            this._SpecialityKinds_DetailNO = DataUtils.ConvertValue<string>(row["SpecialityKinds_DetailNO"]);
            this._SpecialityKindsNO = DataUtils.ConvertValue<string>(row["SpecialityKindsNO"]);
        }
        #endregion

        #region _Field
        /// <summary>
        /// 字段信息
        /// </summary>
        public class _
        {
            /// <summary>
            /// * 
            /// </summary>
            public readonly static Field All = new Field("*", "TB_Rule_CalculateScoreDetail");
            /// <summary>
            /// 主键
            /// </summary>
            public readonly static Field CalculateScoreDetailID = new Field("CalculateScoreDetailID", "TB_Rule_CalculateScoreDetail", "主键");
            /// <summary>
            /// 算分规则主键
            /// </summary>
            public readonly static Field CalculateScoreID = new Field("CalculateScoreID", "TB_Rule_CalculateScoreDetail", "算分规则主键");
            /// <summary>
            /// 考试年度
            /// </summary>
            public readonly static Field ExamYear = new Field("ExamYear", "TB_Rule_CalculateScoreDetail", "考试年度");
            /// <summary>
            /// 考生类型
            /// </summary>
            public readonly static Field SignUpType = new Field("SignUpType", "TB_Rule_CalculateScoreDetail", "考生类型");
            /// <summary>
            /// 考生类型名称
            /// </summary>
            public readonly static Field SignUpTypeName = new Field("SignUpTypeName", "TB_Rule_CalculateScoreDetail", "考生类型名称");
            /// <summary>
            /// 权重
            /// </summary>
            public readonly static Field Weight = new Field("Weight", "TB_Rule_CalculateScoreDetail", "权重");
            /// <summary>
            /// 备注
            /// </summary>
            public readonly static Field Remark = new Field("Remark", "TB_Rule_CalculateScoreDetail", "备注");
            /// <summary>
            /// 专业细分编码（考官类型）
            /// </summary>
            public readonly static Field SpecialityKinds_DetailNO = new Field("SpecialityKinds_DetailNO", "TB_Rule_CalculateScoreDetail", "专业细分编码（考官类型）");
            /// <summary>
            /// 所属专业
            /// </summary>
            public readonly static Field SpecialityKindsNO = new Field("SpecialityKindsNO", "TB_Rule_CalculateScoreDetail", "所属专业");
        }
        #endregion


    }
}

